﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace ColourAppWebService
{
    public class ColourOptions
    {
        public static DominantCharacteristic[,] InitializeLightSkin()
        {
            // 2D array of enum DominantCharacteristic type based on light skin tone selection. Rows are hair colours and columns are eye colours
            DominantCharacteristic[,] colourOptionsLightSkin;
            
            // 2D array of enum DominantCharacteristic type to hold results of possible hair, eye, skin combinations based on light skin tone. 
            // haircolourOptions is rows = 11 rows from 0 to 10 
            // eyecolourOptions is columns = 13 columns from 0 to 12 
            colourOptionsLightSkin = new DominantCharacteristic[11, 13];

            // row 0, column 0, 1, 2...12
            // possible results for light skin tone, ash blonde hair with each eye colour 
            // For example Ash Blonde + Bright Blue = Cool Dominant Characteristic
            colourOptionsLightSkin[0, 0] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[0, 1] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[0, 2] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[0, 3] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[0, 4] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[0, 5] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[0, 6] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[0, 7] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[0, 8] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[0, 9] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[0, 10] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[0, 11] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[0, 12] = DominantCharacteristic.Cool;

            // row 1, column 0, 1, 2...12
            // possible results for light skin tone, golden blonde hair with each eye colour 
            // For example Golden Blonde + Bright Blue = Light Dominant Characteristic
            colourOptionsLightSkin[1, 0] = DominantCharacteristic.Light;
            colourOptionsLightSkin[1, 1] = DominantCharacteristic.Light;
            colourOptionsLightSkin[1, 2] = DominantCharacteristic.Light;
            colourOptionsLightSkin[1, 3] = DominantCharacteristic.Light;
            colourOptionsLightSkin[1, 4] = DominantCharacteristic.Light;
            colourOptionsLightSkin[1, 5] = DominantCharacteristic.Light;
            colourOptionsLightSkin[1, 6] = DominantCharacteristic.Light;
            colourOptionsLightSkin[1, 7] = DominantCharacteristic.Light;
            colourOptionsLightSkin[1, 8] = DominantCharacteristic.Soft;
            colourOptionsLightSkin[1, 9] = DominantCharacteristic.Soft;
            colourOptionsLightSkin[1, 10] = DominantCharacteristic.Soft;
            colourOptionsLightSkin[1, 11] = DominantCharacteristic.Soft;
            colourOptionsLightSkin[1, 12] = DominantCharacteristic.Light;

            // row 2, column 0, 1, 2...12
            // possible results for light skin tone, strawberry blonde hair with each eye colour 
            colourOptionsLightSkin[2, 0] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[2, 1] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[2, 2] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[2, 3] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[2, 4] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[2, 5] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[2, 6] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[2, 7] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[2, 8] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[2, 9] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[2, 10] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[2, 11] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[2, 12] = DominantCharacteristic.Warm;

            // row 3, column 0, 1, 2...12
            // possible results for light skin tone, light brown hair with each eye colour 
            colourOptionsLightSkin[3, 0] = DominantCharacteristic.Light;
            colourOptionsLightSkin[3, 1] = DominantCharacteristic.Light;
            colourOptionsLightSkin[3, 2] = DominantCharacteristic.Light;
            colourOptionsLightSkin[3, 3] = DominantCharacteristic.Light;
            colourOptionsLightSkin[3, 4] = DominantCharacteristic.Light;
            colourOptionsLightSkin[3, 5] = DominantCharacteristic.Light;
            colourOptionsLightSkin[3, 6] = DominantCharacteristic.Soft;
            colourOptionsLightSkin[3, 7] = DominantCharacteristic.Soft;
            colourOptionsLightSkin[3, 8] = DominantCharacteristic.Soft;
            colourOptionsLightSkin[3, 9] = DominantCharacteristic.Soft;
            colourOptionsLightSkin[3, 10] = DominantCharacteristic.Soft;
            colourOptionsLightSkin[3, 11] = DominantCharacteristic.Soft;
            colourOptionsLightSkin[3, 12] = DominantCharacteristic.Light;

            // row 4, column 0, 1, 2...12
            // possible results for light skin tone, medium brown hair with each eye colour 
            colourOptionsLightSkin[4, 0] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[4, 1] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[4, 2] = DominantCharacteristic.Soft;
            colourOptionsLightSkin[4, 3] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[4, 4] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[4, 5] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[4, 6] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[4, 7] = DominantCharacteristic.Soft;
            colourOptionsLightSkin[4, 8] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[4, 9] = DominantCharacteristic.Soft;
            colourOptionsLightSkin[4, 10] = DominantCharacteristic.Soft;
            colourOptionsLightSkin[4, 11] = DominantCharacteristic.Soft;
            colourOptionsLightSkin[4, 12] = DominantCharacteristic.Bright;

            // row 5, column 0, 1, 2...12
            // possible results for light skin tone, ash brown hair with each eye colour 
            colourOptionsLightSkin[5, 0] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[5, 1] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[5, 2] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[5, 3] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[5, 4] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[5, 5] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[5, 6] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[5, 7] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[5, 8] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[5, 9] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[5, 10] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[5, 11] = DominantCharacteristic.Cool;
            colourOptionsLightSkin[5, 12] = DominantCharacteristic.Bright;

            // row 6, column 0, 1, 2...12
            // possible results for light skin tone, dark brown hair with each eye colour 
            colourOptionsLightSkin[6, 0] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[6, 1] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[6, 2] = DominantCharacteristic.Deep;
            colourOptionsLightSkin[6, 3] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[6, 4] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[6, 5] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[6, 6] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[6, 7] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[6, 8] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[6, 9] = DominantCharacteristic.Deep;
            colourOptionsLightSkin[6, 10] = DominantCharacteristic.Deep;
            colourOptionsLightSkin[6, 11] = DominantCharacteristic.Deep;
            colourOptionsLightSkin[6, 12] = DominantCharacteristic.Bright;

            // row 7, column 0, 1, 2...12
            // possible results for light skin tone, black hair with each eye colour 
            colourOptionsLightSkin[7, 0] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[7, 1] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[7, 2] = DominantCharacteristic.Deep;
            colourOptionsLightSkin[7, 3] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[7, 4] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[7, 5] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[7, 6] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[7, 7] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[7, 8] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[7, 9] = DominantCharacteristic.Deep;
            colourOptionsLightSkin[7, 10] = DominantCharacteristic.Deep;
            colourOptionsLightSkin[7, 11] = DominantCharacteristic.Deep;
            colourOptionsLightSkin[7, 12] = DominantCharacteristic.Bright;

            // row 8, column 0, 1, 2...12
            // possible results for light skin tone, red hair with each eye colour 
            colourOptionsLightSkin[8, 0] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[8, 1] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[8, 2] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[8, 3] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[8, 4] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[8, 5] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[8, 6] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[8, 7] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[8, 8] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[8, 9] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[8, 10] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[8, 11] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[8, 12] = DominantCharacteristic.Warm;

            // row 9, column 0, 1, 2...12
            // possible results for light skin tone, auburn hair with each eye colour 
            colourOptionsLightSkin[9, 0] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[9, 1] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[9, 2] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[9, 3] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[9, 4] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[9, 5] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[9, 6] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[9, 7] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[9, 8] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[9, 9] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[9, 10] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[9, 11] = DominantCharacteristic.Warm;
            colourOptionsLightSkin[9, 12] = DominantCharacteristic.Warm;

            // row 10, column 0, 1, 2...12
            // possible results for light skin tone, dark auburn hair with each eye colour 
            colourOptionsLightSkin[10, 0] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[10, 1] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[10, 2] = DominantCharacteristic.Deep;
            colourOptionsLightSkin[10, 3] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[10, 4] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[10, 5] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[10, 6] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[10, 7] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[10, 8] = DominantCharacteristic.Bright;
            colourOptionsLightSkin[10, 9] = DominantCharacteristic.Deep;
            colourOptionsLightSkin[10, 10] = DominantCharacteristic.Deep;
            colourOptionsLightSkin[10, 11] = DominantCharacteristic.Deep;
            colourOptionsLightSkin[10, 12] = DominantCharacteristic.Bright;

            return colourOptionsLightSkin;
        }

        public static DominantCharacteristic[,] InitializeMedSkin()
        {
            // 2D array of enum DominantCharacteristic type based on medium skin tone selection. Rows are hair colours and columns are eye colours       
            DominantCharacteristic[,] colourOptionsMedSkin;
            
            // 2D array of enum DominantCharacteristic type to hold results of possible hair, eye, skin combinations based on medium skin tone. 
            // haircolourOptions is rows = 11 rows from 0 to 10 
            // eyecolourOptions is columns = 13 columns from 0 to 12 
            colourOptionsMedSkin = new DominantCharacteristic[11, 13];

            // row 0, column 0, 1, 2...12
            // possible results for medium skin tone, ash blonde hair with each eye colour 
            // For example Ash Blonde + Bright Blue = Cool Dominant Characteristic
            colourOptionsMedSkin[0, 0] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[0, 1] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[0, 2] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[0, 3] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[0, 4] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[0, 5] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[0, 6] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[0, 7] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[0, 8] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[0, 9] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[0, 10] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[0, 11] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[0, 12] = DominantCharacteristic.Cool;

            // row 1, column 0, 1, 2...12
            // possible results for medium skin tone, golden blonde hair with each eye colour 
            colourOptionsMedSkin[1, 0] = DominantCharacteristic.Light;
            colourOptionsMedSkin[1, 1] = DominantCharacteristic.Light;
            colourOptionsMedSkin[1, 2] = DominantCharacteristic.Soft;
            colourOptionsMedSkin[1, 3] = DominantCharacteristic.Light;
            colourOptionsMedSkin[1, 4] = DominantCharacteristic.Light;
            colourOptionsMedSkin[1, 5] = DominantCharacteristic.Light;
            colourOptionsMedSkin[1, 6] = DominantCharacteristic.Light;
            colourOptionsMedSkin[1, 7] = DominantCharacteristic.Soft;
            colourOptionsMedSkin[1, 8] = DominantCharacteristic.Light;
            colourOptionsMedSkin[1, 9] = DominantCharacteristic.Soft;
            colourOptionsMedSkin[1, 10] = DominantCharacteristic.Soft;
            colourOptionsMedSkin[1, 11] = DominantCharacteristic.Soft;
            colourOptionsMedSkin[1, 12] = DominantCharacteristic.Light;

            // row 2, column 0, 1, 2...12
            // possible results for medium skin tone, strawberry blonde hair with each eye colour 
            colourOptionsMedSkin[2, 0] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[2, 1] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[2, 2] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[2, 3] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[2, 4] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[2, 5] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[2, 6] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[2, 7] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[2, 8] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[2, 9] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[2, 10] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[2, 11] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[2, 12] = DominantCharacteristic.Warm;

            // row 3, column 0, 1, 2...12
            // possible results for medium skin tone, light brown hair with each eye colour 
            colourOptionsMedSkin[3, 0] = DominantCharacteristic.Light;
            colourOptionsMedSkin[3, 1] = DominantCharacteristic.Light;
            colourOptionsMedSkin[3, 2] = DominantCharacteristic.Soft;
            colourOptionsMedSkin[3, 3] = DominantCharacteristic.Light;
            colourOptionsMedSkin[3, 4] = DominantCharacteristic.Light;
            colourOptionsMedSkin[3, 5] = DominantCharacteristic.Light;
            colourOptionsMedSkin[3, 6] = DominantCharacteristic.Light;
            colourOptionsMedSkin[3, 7] = DominantCharacteristic.Soft;
            colourOptionsMedSkin[3, 8] = DominantCharacteristic.Light;
            colourOptionsMedSkin[3, 9] = DominantCharacteristic.Soft;
            colourOptionsMedSkin[3, 10] = DominantCharacteristic.Soft;
            colourOptionsMedSkin[3, 11] = DominantCharacteristic.Soft;
            colourOptionsMedSkin[3, 12] = DominantCharacteristic.Light;

            // row 4, column 0, 1, 2...12
            // possible results for medium skin tone, medium brown hair with each eye colour 
            colourOptionsMedSkin[4, 0] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[4, 1] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[4, 2] = DominantCharacteristic.Deep;
            colourOptionsMedSkin[4, 3] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[4, 4] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[4, 5] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[4, 6] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[4, 7] = DominantCharacteristic.Soft;
            colourOptionsMedSkin[4, 8] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[4, 9] = DominantCharacteristic.Soft;
            colourOptionsMedSkin[4, 10] = DominantCharacteristic.Soft;
            colourOptionsMedSkin[4, 11] = DominantCharacteristic.Deep;
            colourOptionsMedSkin[4, 12] = DominantCharacteristic.Bright;

            // row 5, column 0, 1, 2...12
            // possible results for medium skin tone, ash brown hair with each eye colour 
            colourOptionsMedSkin[5, 0] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[5, 1] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[5, 2] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[5, 3] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[5, 4] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[5, 5] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[5, 6] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[5, 7] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[5, 8] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[5, 9] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[5, 10] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[5, 11] = DominantCharacteristic.Cool;
            colourOptionsMedSkin[5, 12] = DominantCharacteristic.Bright;

            // row 6, column 0, 1, 2...12
            // possible results for medium skin tone, dark brown hair with each eye colour 
            colourOptionsMedSkin[6, 0] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[6, 1] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[6, 2] = DominantCharacteristic.Deep;
            colourOptionsMedSkin[6, 3] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[6, 4] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[6, 5] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[6, 6] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[6, 7] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[6, 8] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[6, 9] = DominantCharacteristic.Deep;
            colourOptionsMedSkin[6, 10] = DominantCharacteristic.Deep;
            colourOptionsMedSkin[6, 11] = DominantCharacteristic.Deep;
            colourOptionsMedSkin[6, 12] = DominantCharacteristic.Bright;

            // row 7, column 0, 1, 2...12
            // possible results for medium skin tone, black hair with each eye colour 
            colourOptionsMedSkin[7, 0] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[7, 1] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[7, 2] = DominantCharacteristic.Deep;
            colourOptionsMedSkin[7, 3] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[7, 4] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[7, 5] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[7, 6] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[7, 7] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[7, 8] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[7, 9] = DominantCharacteristic.Deep;
            colourOptionsMedSkin[7, 10] = DominantCharacteristic.Deep;
            colourOptionsMedSkin[7, 11] = DominantCharacteristic.Deep;
            colourOptionsMedSkin[7, 12] = DominantCharacteristic.Bright;

            // row 8, column 0, 1, 2...12
            // possible results for medium skin tone, red hair with each eye colour 
            colourOptionsMedSkin[8, 0] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[8, 1] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[8, 2] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[8, 3] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[8, 4] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[8, 5] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[8, 6] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[8, 7] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[8, 8] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[8, 9] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[8, 10] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[8, 11] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[8, 12] = DominantCharacteristic.Warm;

            // row 9, column 0, 1, 2...12
            // possible results for medium skin tone, auburn hair with each eye colour 
            colourOptionsMedSkin[9, 0] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[9, 1] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[9, 2] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[9, 3] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[9, 4] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[9, 5] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[9, 6] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[9, 7] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[9, 8] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[9, 9] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[9, 10] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[9, 11] = DominantCharacteristic.Warm;
            colourOptionsMedSkin[9, 12] = DominantCharacteristic.Warm;

            // row 10, column 0, 1, 2...12
            // possible results for medium skin tone, dark auburn hair with each eye colour 
            colourOptionsMedSkin[10, 0] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[10, 1] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[10, 2] = DominantCharacteristic.Deep;
            colourOptionsMedSkin[10, 3] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[10, 4] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[10, 5] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[10, 6] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[10, 7] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[10, 8] = DominantCharacteristic.Bright;
            colourOptionsMedSkin[10, 9] = DominantCharacteristic.Deep;
            colourOptionsMedSkin[10, 10] = DominantCharacteristic.Deep;
            colourOptionsMedSkin[10, 11] = DominantCharacteristic.Deep;
            colourOptionsMedSkin[10, 12] = DominantCharacteristic.Bright;

            return colourOptionsMedSkin;
        }


        public static DominantCharacteristic[,] InitializeDarkSkin()
        {
            DominantCharacteristic[,] colourOptionsDarkSkin;
            
            // 2D array of enum DominantCharacteristic type to hold results of possible hair, eye, skin combinations based on dark skin tone. 
            // haircolourOptions is rows = 11 rows from 0 to 10 
            // eyecolourOptions is columns = 13 columns from 0 to 12 
            colourOptionsDarkSkin = new DominantCharacteristic[11, 13];

            // row 0, column 0, 1, 2...12
            // possible results for dark skin tone, ash blonde hair with each eye colour 
            // For example Ash Blonde + Bright Blue = Cool Dominant Characteristic
            colourOptionsDarkSkin[0, 0] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[0, 1] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[0, 2] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[0, 3] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[0, 4] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[0, 5] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[0, 6] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[0, 7] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[0, 8] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[0, 9] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[0, 10] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[0, 11] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[0, 12] = DominantCharacteristic.Cool;

            // row 1, column 0, 1, 2...12
            // possible results for dark skin tone, golden blonde hair with each eye colour 
            colourOptionsDarkSkin[1, 0] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[1, 1] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[1, 2] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[1, 3] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[1, 4] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[1, 5] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[1, 6] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[1, 7] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[1, 8] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[1, 9] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[1, 10] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[1, 11] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[1, 12] = DominantCharacteristic.Bright;

            // row 2, column 0, 1, 2...12
            // possible results for dark skin tone, strawberry blonde hair with each eye colour 
            colourOptionsDarkSkin[2, 0] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[2, 1] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[2, 2] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[2, 3] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[2, 4] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[2, 5] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[2, 6] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[2, 7] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[2, 8] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[2, 9] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[2, 10] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[2, 11] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[2, 12] = DominantCharacteristic.Warm;

            // row 3, column 0, 1, 2...12
            // possible results for dark skin tone, light brown hair with each eye colour 
            colourOptionsDarkSkin[3, 0] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[3, 1] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[3, 2] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[3, 3] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[3, 4] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[3, 5] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[3, 6] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[3, 7] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[3, 8] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[3, 9] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[3, 10] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[3, 11] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[3, 12] = DominantCharacteristic.Bright;

            // row 4, column 0, 1, 2...12
            // possible results for dark skin tone, medium brown hair with each eye colour 
            colourOptionsDarkSkin[4, 0] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[4, 1] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[4, 2] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[4, 3] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[4, 4] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[4, 5] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[4, 6] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[4, 7] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[4, 8] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[4, 9] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[4, 10] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[4, 11] = DominantCharacteristic.Soft;
            colourOptionsDarkSkin[4, 12] = DominantCharacteristic.Bright;

            // row 5, column 0, 1, 2...12
            // possible results for dark skin tone, ash brown hair with each eye colour 
            colourOptionsDarkSkin[5, 0] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[5, 1] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[5, 2] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[5, 3] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[5, 4] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[5, 5] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[5, 6] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[5, 7] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[5, 8] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[5, 9] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[5, 10] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[5, 11] = DominantCharacteristic.Cool;
            colourOptionsDarkSkin[5, 12] = DominantCharacteristic.Cool;

            // row 6, column 0, 1, 2...12
            // possible results for dark skin tone, dark brown hair with each eye colour 
            colourOptionsDarkSkin[6, 0] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[6, 1] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[6, 2] = DominantCharacteristic.Deep;
            colourOptionsDarkSkin[6, 3] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[6, 4] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[6, 5] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[6, 6] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[6, 7] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[6, 8] = DominantCharacteristic.Deep;
            colourOptionsDarkSkin[6, 9] = DominantCharacteristic.Deep;
            colourOptionsDarkSkin[6, 10] = DominantCharacteristic.Deep;
            colourOptionsDarkSkin[6, 11] = DominantCharacteristic.Deep;
            colourOptionsDarkSkin[6, 12] = DominantCharacteristic.Bright;

            // row 7, column 0, 1, 2...12
            // possible results for dark skin tone, black hair with each eye colour 
            colourOptionsDarkSkin[7, 0] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[7, 1] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[7, 2] = DominantCharacteristic.Deep;
            colourOptionsDarkSkin[7, 3] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[7, 4] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[7, 5] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[7, 6] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[7, 7] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[7, 8] = DominantCharacteristic.Deep;
            colourOptionsDarkSkin[7, 9] = DominantCharacteristic.Deep;
            colourOptionsDarkSkin[7, 10] = DominantCharacteristic.Deep;
            colourOptionsDarkSkin[7, 11] = DominantCharacteristic.Deep;
            colourOptionsDarkSkin[7, 12] = DominantCharacteristic.Bright;

            // row 8, column 0, 1, 2...12
            // possible results for dark skin tone, red hair with each eye colour 
            colourOptionsDarkSkin[8, 0] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[8, 1] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[8, 2] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[8, 3] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[8, 4] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[8, 5] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[8, 6] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[8, 7] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[8, 8] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[8, 9] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[8, 10] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[8, 11] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[8, 12] = DominantCharacteristic.Warm;

            // row 9, column 0, 1, 2...12
            // possible results for dark skin tone, auburn hair with each eye colour 
            colourOptionsDarkSkin[9, 0] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[9, 1] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[9, 2] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[9, 3] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[9, 4] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[9, 5] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[9, 6] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[9, 7] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[9, 8] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[9, 9] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[9, 10] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[9, 11] = DominantCharacteristic.Warm;
            colourOptionsDarkSkin[9, 12] = DominantCharacteristic.Warm;

            // row 10, column 0, 1, 2...12
            // possible results for dark skin tone, dark auburn hair with each eye colour 
            colourOptionsDarkSkin[10, 0] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[10, 1] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[10, 2] = DominantCharacteristic.Deep;
            colourOptionsDarkSkin[10, 3] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[10, 4] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[10, 5] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[10, 6] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[10, 7] = DominantCharacteristic.Bright;
            colourOptionsDarkSkin[10, 8] = DominantCharacteristic.Deep;
            colourOptionsDarkSkin[10, 9] = DominantCharacteristic.Deep;
            colourOptionsDarkSkin[10, 10] = DominantCharacteristic.Deep;
            colourOptionsDarkSkin[10, 11] = DominantCharacteristic.Deep;
            colourOptionsDarkSkin[10, 12] = DominantCharacteristic.Bright;

            return colourOptionsDarkSkin;
        }
    }
}